package com.example.anliku.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;

@ApiModel(value = "com-example-anliku-entity-Example")
@Data
public class Example {
    /**
     * 案例id
     */
    @ApiModelProperty(value = "案例id")
    private Integer exampleId;

    /**
     * 案例名称
     */
    @ApiModelProperty(value = "案例名称")
    private String exampleName;

    /**
     * 案例发起人id
     */
    @ApiModelProperty(value = "案例发起人id")
    private String exampleUserId;

    /**
     * 案例发起时间
     */
    @ApiModelProperty(value = "案例发起时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date exampleStartTime;

    /**
     * 案例状态
     * -1：驳回
     * 0：待审核
     * 1：审核通过
     */
    @ApiModelProperty(value = "案例状态,-1：驳回,0：待审核,1：审核通过")
    private Integer exampleState;

    /**
     * 案例类别名称
     */
    @ApiModelProperty(value = "案例类别名称")
    private String exampleTypeName;

    /**
     * 案例知识点id,以";"隔开
     */
    @ApiModelProperty(value = "案例知识点id,以';'隔开")
    private String exampleKnowledgeId;

    /**
     * 案例课程名称,以";"隔开
     */
    @ApiModelProperty(value = "案例课程名称,以';'隔开")
    private String exampleClazz;

    /**
     * 案例封面图片
     */
    @ApiModelProperty(value = "案例封面图片")
    private String exampleImage;

    /**
     * 案例介绍
     */
    @ApiModelProperty(value = "案例介绍")
    private String exampleIntroduction;

    /**
     * 案例贡献者姓名
     */
    @ApiModelProperty(value = "案例贡献者姓名")
    private String exampleUserName;

    /**
     * 案例指导书
     */
    @ApiModelProperty(value = "案例指导书")
    private String exampleBook;

    /**
     * 案例介绍视频
     */
    @ApiModelProperty(value = "案例介绍视频")
    private String exampleVideo;

    /**
     * 案例代码
     */
    @ApiModelProperty(value = "案例代码")
    private String exampleCode;

    /**
     * 案例可查看人id，以";"隔开
     */
    @ApiModelProperty(value = "案例可查看人id，以';'隔开")
    private String exampleSeeUserId;

    /**
     * 案例是否为公开库
     * 0：不公开
     * 1：公开
     */
    @ApiModelProperty(value = "案例是否为公开库,0：不公开,1：公开")
    private Integer examplePublicState;

    /**
     * 案例审核人id
     */
    @ApiModelProperty(value = "案例审核人id")
    private String exampleCheckId;

    /**
     * 审核通过时间
     */
    @ApiModelProperty(value = "审核通过时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date examplePassTime;

    /**
     * 审核反馈意见
     */
    @ApiModelProperty(value = "审核反馈意见")
    private String exampleAdvice;

    /**
     * 案例库评论id,以";"隔开
     */
    @ApiModelProperty(value = "案例库评论id,以';'隔开")
    private String exampleCommentId;
    @Transient
    private Integer page;
    @Transient
    private Integer limit;
    @Transient    private String desc;

    @Transient
    private User user;
    @Transient
    private Admin admin;
}
